home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 38 / Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso / -seriously_amiga- / misc / ced_html / html / html_link.ced < prev    next >
Text File  |  1999-01-25  |  14KB  |  538 lines

  1. /*
  2. ** html_link.ced
  3. **
  4. ** $VER: html_link.ced 1.6 (01.07.1999)
  5. **
  6. ** Arexx script for HTML v3.2 link mark
  7. **
  8. ** This script works with CygnusEd Professional v4.2
  9. **
  10. ** Copyright © Eric BELLE
  11. */
  12.  
  13. /*
  14. **------------------------------------------------------------------------------
  15. **    Initialisation
  16. **------------------------------------------------------------------------------
  17. */
  18.  
  19. OPTIONS RESULTS                            /* Tell CygnusEd to return results. */
  20. NL = '0A'X                                    /* Alias for new line. */
  21. KRETURN = RAWKEY 68                    /* Shortcut to the return key. */
  22. KTAB = RAWKEY 66                        /* Shortcut to the tab key. */
  23. STATUS TABSARESPACES                /* Return TAB mode ("tab" or "space"). */
  24. IF RESULT = 1                                /* Test the TAB mode. */
  25. THEN "TABS = SPACES"                /* Switch TAB mode from "space" to "tab". */
  26. ELSE NOP                                        /* No operation. */
  27. TAB SIZE 1                                    /* Set TAB size proportional to 2 spaces. */
  28.  
  29. /*
  30. **------------------------------------------------------------------------------
  31. **    Link Choice
  32. **------------------------------------------------------------------------------
  33. */
  34.  
  35. LinkChoice="no"
  36. DO WHILE (LinkChoice="no")
  37.         OKAY2 "Link mode:"                            ||    NL    ||,
  38.                     "~~~~~~~~~"                                ||    NL    ||,
  39.                     "  (0)  - local anchor               |  (7)  - universal file             "        ||    NL    ||,
  40.                     "  (1)  - local file                 |  (8)  - universal file with anchor "        ||    NL    ||,
  41.                     "  (2)  - local file with anchor     |  (9)  - universal WWW              "        ||    NL    ||,
  42.                     "                                    |  (10) - universal WWW with anchor  "        ||    NL    ||,
  43.                     "  (3)  - absolute file              |  (11) - universal FTP              "        ||    NL    ||,
  44.                     "  (4)  - absolute file with anchor  |  (12) - universal Telnet           "        ||    NL    ||,
  45.                     "  (5)  - absolute WWW               |  (13) - universal Gopher           "        ||    NL    ||,
  46.                     "  (6)  - absolute WWW with anchor   |  (14) - universal Usenet           "        ||    NL    ||,
  47.                     "                                    |  (15) - universal e-Mail           "
  48.         
  49.     IF (RESULT=0)
  50.     THEN EXIT 0
  51.     ELSE LinkChoice="ok"
  52.  
  53.     GETNUMBER 0 '"Link mode?"' 0 17
  54.     LinkMode = RESULT
  55.  
  56.     IF (LinkMode=" ")
  57.     THEN LinkChoice = "no"
  58.     ELSE NOP
  59. END
  60.  
  61. /*
  62. **------------------------------------------------------------------------------
  63. **    Html link marks
  64. **------------------------------------------------------------------------------
  65. */
  66.  
  67. SELECT
  68.     WHEN (LinkMode=0) THEN DO
  69.         GETSTRING "Anchor" '"Anchor identification name?"'
  70.         AnchorName = RESULT
  71.  
  72.         IF (AnchorName="RESULT" | AnchorName=" ")
  73.         THEN EXIT 0
  74.         ELSE NOP
  75.  
  76.         OpenLink = '<A HREF="#' || AnchorName || '">'
  77.     END
  78.     WHEN (LinkMode=1) THEN DO
  79.         GETSTRING "File" '"File name with its relative path?"'
  80.         FileName = RESULT
  81.  
  82.         IF (FileName=" " | FileName="RESULT")
  83.         THEN EXIT 0
  84.         ELSE NOP
  85.  
  86.         OpenLink = '<A HREF="' || FileName || '">'
  87.     END
  88.     WHEN (LinkMode=2) THEN DO
  89.         GETSTRING "File" '"File name with its relative path?"'
  90.         FileName = RESULT
  91.  
  92.         IF (FileName=" " | FileName="RESULT")
  93.         THEN EXIT 0
  94.         ELSE NOP
  95.  
  96.         GETSTRING "Anchor" '"Anchor identification name?"'
  97.         AnchorName = RESULT
  98.  
  99.         IF (AnchorName="RESULT" | AnchorName=" ")
  100.         THEN EXIT 0
  101.         ELSE NOP        
  102.  
  103.         OpenLink = '<A HREF="' || FileName || "#" || AnchorName || '">'
  104.     END
  105.     WHEN (LinkMode=3) THEN DO
  106.         STATUS DIRNAME
  107.         HtmlFileDir = RESULT || "/"
  108.  
  109.         GETFILENAME HtmlFileDir '"Select file"'
  110.         FileName = RESULT
  111.  
  112.         IF (FileName=" " | FileName="RESULT")
  113.         THEN EXIT 0
  114.         ELSE NOP
  115.  
  116.         OpenLink = '<A HREF="file://localhost/' || FileName || '">'
  117.     END
  118.     WHEN (LinkMode=4) THEN DO
  119.         STATUS DIRNAME
  120.         HtmlFileDir = RESULT || "/"
  121.  
  122.         GETFILENAME HtmlFileDir '"Select file"'
  123.         FileName = RESULT
  124.  
  125.         IF (FileName=" " | FileName="RESULT")
  126.         THEN EXIT 0
  127.         ELSE NOP
  128.  
  129.         GETSTRING "Anchor" '"Anchor identification name?"'
  130.         AnchorName = RESULT
  131.  
  132.         IF (AnchorName="RESULT" | AnchorName=" ")
  133.         THEN EXIT 0
  134.         ELSE NOP        
  135.  
  136.         OpenLink = '<A HREF="file://localhost/' || FileName || "#" || AnchorName || '">'
  137.     END
  138.     WHEN (LinkMode=5) THEN DO
  139.         STATUS DIRNAME
  140.         HtmlFileDir = RESULT || "/"
  141.  
  142.         GETFILENAME HtmlFileDir '"Select file"'
  143.         FileName = RESULT
  144.  
  145.         IF (FileName=" " | FileName="RESULT")
  146.         THEN EXIT 0
  147.         ELSE NOP
  148.  
  149.         OpenLink = '<A HREF="http://localhost/' || FileName || '">'
  150.     END
  151.     WHEN (LinkMode=6) THEN DO
  152.         STATUS DIRNAME
  153.         HtmlFileDir = RESULT || "/"
  154.  
  155.         GETFILENAME HtmlFileDir '"Select file"'
  156.         FileName = RESULT
  157.  
  158.         IF (FileName=" " | FileName="RESULT")
  159.         THEN EXIT 0
  160.         ELSE NOP
  161.  
  162.         GETSTRING "Anchor" '"Anchor identification name?"'
  163.         AnchorName = RESULT
  164.  
  165.         IF (AnchorName="RESULT" | AnchorName=" ")
  166.         THEN EXIT 0
  167.         ELSE NOP        
  168.  
  169.         OpenLink = '<A HREF="http://localhost/' || FileName || "#" || AnchorName || '">'
  170.     END
  171.     WHEN (LinkMode=7) THEN DO
  172.         GETSTRING "File" '"File name with its universal path?"'
  173.         FileName = RESULT
  174.  
  175.         IF (FileName="RESULT" | FileName=" ")
  176.         THEN EXIT 0
  177.         ELSE NOP
  178.  
  179.         OpenLink = '<A HREF="file://' || FileName || '">'        
  180.     END
  181.     WHEN (LinkMode=8) THEN DO
  182.         GETSTRING "File" '"File name with its universal path?"'
  183.         FileName = RESULT
  184.  
  185.         IF (FileName="RESULT" | FileName=" ")
  186.         THEN EXIT 0
  187.         ELSE NOP
  188.  
  189.         GETSTRING "Anchor" '"Anchor identification name?"'
  190.         AnchorName = RESULT
  191.  
  192.         IF (AnchorName="RESULT" | AnchorName=" ")
  193.         THEN EXIT 0
  194.         ELSE NOP        
  195.  
  196.         OpenLink = '<A HREF="file://' || FileName || "#" || AnchorName || '">'
  197.     END
  198.     WHEN (LinkMode=9) THEN DO
  199.         GETSTRING "Html" '"Html file name with its universal path?"'
  200.         HtmlName = RESULT
  201.  
  202.         IF (HtmlName="RESULT" | HtmlName=" ")
  203.         THEN EXIT 0
  204.         ELSE NOP
  205.  
  206.         OpenLink = '<A HREF="http://' || HtmlName || '">'        
  207.     END
  208.     WHEN (LinkMode=10) THEN DO
  209.         GETSTRING "Html" '"Html file name with its universal path?"'
  210.         HtmlName = RESULT
  211.  
  212.         IF (HtmlName="RESULT" | HtmlName=" ")
  213.         THEN EXIT 0
  214.         ELSE NOP
  215.  
  216.         GETSTRING "Anchor" '"Anchor identification name?"'
  217.         AnchorName = RESULT
  218.  
  219.         IF (AnchorName="RESULT" | AnchorName=" ")
  220.         THEN EXIT 0
  221.         ELSE NOP        
  222.  
  223.         OpenLink = '<A HREF="http://' || HtmlName || "#" || AnchorName || '">'        
  224.     END
  225.     WHEN (LinkMode=11) THEN DO
  226.         GETSTRING "Ftp" '"Ftp host?"'
  227.         FtpName = RESULT
  228.  
  229.         IF (FtpName="RESULT" | FtpName=" ")
  230.         THEN EXIT 0
  231.         ELSE NOP
  232.  
  233.         OpenLink = '<A HREF="ftp://' || FtpName || '">'        
  234.     END
  235.     WHEN (LinkMode=12) THEN DO
  236.         GETSTRING "Telnet" '"Telnet host?"'
  237.         TelnetName = RESULT
  238.  
  239.         IF (TelnetName="RESULT" | TelnetName=" ")
  240.         THEN EXIT 0
  241.         ELSE NOP
  242.  
  243.         OpenLink = '<A HREF="telnet://' || TelnetName || '">'        
  244.     END
  245.     WHEN (LinkMode=13) THEN DO
  246.         GETSTRING "Gopher" '"Gopher host?"'
  247.         GopherName = RESULT
  248.  
  249.         IF (GopherName="RESULT" | GopherName=" ")
  250.         THEN EXIT 0
  251.         ELSE NOP
  252.  
  253.         OpenLink = '<A HREF="gopher://' || GopherName || '">'        
  254.     END
  255.     WHEN (LinkMode=14) THEN DO
  256.         GETSTRING "News" '"Usenet newsgroup host?"'
  257.         NewsName = RESULT
  258.  
  259.         IF (NewsName="RESULT" | NewsName=" ")
  260.         THEN EXIT 0
  261.         ELSE NOP
  262.  
  263.         OpenLink = '<A HREF="news://' || NewsName || '">'        
  264.     END
  265.     WHEN (LinkMode=15) THEN DO
  266.         GETSTRING "e-mail" '"Electronic address?"'
  267.         MailName = RESULT
  268.  
  269.         IF (MailName="RESULT" | MailName=" ")
  270.         THEN EXIT 0
  271.         ELSE NOP
  272.  
  273.         OpenLink = '<A HREF="mailto:' || MailName || '">'        
  274.     END
  275.     OTHERWISE NOP
  276. END
  277.  
  278. CloseLink = "</A>"
  279.  
  280. /*
  281. **------------------------------------------------------------------------------
  282. **    Link mode
  283. **------------------------------------------------------------------------------
  284. */
  285.  
  286. LinkMode = "q"
  287. DO WHILE ~(LinkMode="t" | LinkMode="i",
  288.                     | LinkMode=" " | LinkMode="RESULT")
  289.     GETSTRING "t" '"Link mode: (t)ext, (i)mage?"'
  290.     LinkMode = RESULT
  291. END
  292.  
  293. SELECT
  294.     WHEN (LinkMode="RESULT") THEN EXIT 0
  295.     WHEN (LinkMode=" ") THEN EXIT 0
  296.     WHEN (LinkMode="i") THEN DO
  297.  
  298.         /*
  299.         **------------------------------------------------------------------------------
  300.         **    Image link name
  301.         **------------------------------------------------------------------------------
  302.         */
  303.  
  304.         ImageLocation = "q"
  305.         DO WHILE ~(ImageLocation="l" | ImageLocation="a" | ImageLocation="u",
  306.                             | ImageLocation=" " | ImageLocation="RESULT")
  307.             GETSTRING "l" '"Image location: (l)ocal, (a)bsolute, (u)niversal?"'
  308.             ImageLocation = RESULT
  309.         END
  310.  
  311.         IF (ImageLocation="RESULT" | ImageLocation=" ")
  312.         THEN EXIT 0
  313.         ELSE NOP
  314.  
  315.         SELECT
  316.             WHEN (ImageLocation="l") THEN DO
  317.                 GETSTRING "Image" '"Image name with its relative path?"'
  318.                 ImageName = RESULT
  319.  
  320.                 IF (ImageName=" " | ImageName="RESULT")
  321.                 THEN EXIT 0
  322.                 ELSE NOP
  323.  
  324.                 OpenImage = '<IMG SRC="' || ImageName    ||    '"'
  325.             END
  326.             WHEN (ImageLocation="a") THEN DO
  327.                 STATUS DIRNAME
  328.                 HtmlFileDir = RESULT || "/"
  329.  
  330.                 GETFILENAME HtmlFileDir '"Select Image"'
  331.                 ImageName = RESULT
  332.  
  333.                 IF (ImageName=" " | ImageName="RESULT")
  334.                 THEN EXIT 0
  335.                 ELSE NOP
  336.  
  337.                 OpenImage = '<IMG SRC="file://localhost/' || ImageName    ||    '"'
  338.             END
  339.             WHEN (ImageLocation="u") THEN DO
  340.                 GETSTRING "Image" '"Image name with its universal path?"'
  341.                 ImageName = RESULT
  342.  
  343.                 IF (ImageName="RESULT" | ImageName=" ")
  344.                 THEN EXIT 0
  345.                 ELSE NOP
  346.  
  347.                 OpenImage = '<IMG SRC="file://' || ImageName    ||    '"'
  348.             END
  349.             OTHERWISE NOP
  350.         END
  351.  
  352.         /*
  353.         **------------------------------------------------------------------------------
  354.         **    Text for image link substitution
  355.         **------------------------------------------------------------------------------
  356.         */
  357.  
  358.         GETSTRING '"text"' '"Text for image substitution?"'
  359.         ImageText = RESULT
  360.  
  361.         IF (ImageText="RESULT")
  362.         THEN EXIT 0
  363.         ELSE NOP
  364.  
  365.         /*
  366.         **------------------------------------------------------------------------------
  367.         **    Image link size options
  368.         **------------------------------------------------------------------------------
  369.         */
  370.  
  371.         ImageSize = "q"
  372.         DO WHILE ~(ImageSize="y" | ImageSize="n" | ImageSize="d",
  373.                             | ImageSize=" " | ImageSize="RESULT")
  374.             GETSTRING "d" '"Image size options: (y)es, (n)o, (d)efault?"'
  375.             ImageSize = RESULT
  376.         END
  377.  
  378.         IF (ImageSize="RESULT" | ImageSize=" ")
  379.         THEN EXIT 0
  380.         ELSE NOP
  381.  
  382.         SELECT
  383.             WHEN (ImageSize="d") THEN DO
  384.                 ImageWidth = "100"
  385.                 ImageHeight = "100"
  386.                 ImageBorder = "0"
  387.             END
  388.             WHEN (ImageSize="y") THEN DO
  389.                 GETNUMBER "100" '"Width (pixels)?"'
  390.                 ImageWidth = RESULT
  391.  
  392.                 IF (ImageWidth="RESULT" | ImageWidth=" ")
  393.                 THEN EXIT 0
  394.                 ELSE NOP
  395.  
  396.                 GETNUMBER "100" '"Height (pixels)?"'
  397.                 ImageHeight = RESULT
  398.  
  399.                 IF (ImageHeight="RESULT" | ImageHeight=" ")
  400.                 THEN EXIT 0
  401.                 ELSE NOP
  402.  
  403.                 GETNUMBER 0 '"Border (pixels)?"' 0 32768
  404.                 ImageBorder = RESULT
  405.  
  406.                 IF (ImageBorder=" ")
  407.                 THEN EXIT 0
  408.                 ELSE NOP
  409.             END
  410.             OTHERWISE NOP
  411.         END
  412.  
  413.         /*
  414.         **------------------------------------------------------------------------------
  415.         **    Image link position options
  416.         **------------------------------------------------------------------------------
  417.         */
  418.  
  419.         ImagePosition = "q"
  420.         DO WHILE ~(ImagePosition="y" | ImagePosition="n" | ImagePosition="d",
  421.                             | ImagePosition=" " | ImagePosition="RESULT")
  422.             GETSTRING "d" '"Image position options: (y)es, (n)o, (d)efault?"'
  423.             ImagePosition = RESULT
  424.         END
  425.  
  426.         IF (ImagePosition="RESULT" | ImagePosition=" ")
  427.         THEN EXIT 0
  428.         ELSE NOP
  429.  
  430.         SELECT
  431.             WHEN (ImagePosition="d") THEN DO
  432.                 ImagePositionMode = "n"
  433.                 HorizontalTextDistance = "10"
  434.                 VerticalTextDistance = "10"
  435.             END
  436.             WHEN (ImagePosition="y") THEN DO
  437.                 ImagePositionMode = "q"
  438.                 DO WHILE ~(ImagePositionMode="l" | ImagePositionMode="c" | ImagePositionMode="r",
  439.                                     | ImagePositionMode="n" | ImagePositionMode=" " | ImagePositionMode="RESULT")
  440.                     GETSTRING "c" '"Image position: (l)eft, (c)enter, (r)ight, (n)o?"'
  441.                     ImagePositionMode = RESULT
  442.                 END
  443.  
  444.                 IF (ImagePositionMode="RESULT" | ImagePositionMode=" ")
  445.                 THEN EXIT 0
  446.                 ELSE NOP
  447.  
  448.                 OKAY2 "You know have to specify the distance "             ||    NL    ||,
  449.                             "between the image en the surrounding text"        ||    NL    ||,
  450.                             "(Lateral and vertical)."
  451.  
  452.                 IF (RESULT=" " | RESULT="RESULT")
  453.                 THEN EXIT 0
  454.                 ELSE
  455.  
  456.                 GETNUMBER 10 '"Lateral (pixels)?"' 0 32768
  457.                 HorizontalTextDistance = RESULT
  458.  
  459.                 IF (HorizontalTextDistance=" ")
  460.                 THEN EXIT 0
  461.                 ELSE NOP
  462.  
  463.                 GETNUMBER 10 '"Vertical (pixels)?"' 0 32768
  464.                 VerticalTextDistance = RESULT
  465.  
  466.                 IF (VerticalTextDistance=" ")
  467.                 THEN EXIT 0
  468.                 ELSE NOP
  469.             END
  470.             OTHERWISE NOP
  471.         END
  472.  
  473.         /*
  474.         **------------------------------------------------------------------------------
  475.         **    Html image link marks
  476.         **------------------------------------------------------------------------------
  477.         */
  478.  
  479.         IF (ImageSize="n")
  480.         THEN ImageSizeString = ""
  481.         ELSE DO
  482.             ImageSizeString =                                            " BORDER="    ||    ImageBorder
  483.             ImageSizeString = ImageSizeString ||    " WIDTH="        ||    ImageWidth
  484.             ImageSizeString = ImageSizeString    ||    " HEIGHT="    ||    ImageHeight
  485.         END
  486.  
  487.         SELECT
  488.             WHEN (ImagePositionMode="c") THEN ImagePosition = ""
  489.             WHEN (ImagePositionMode="n") THEN ImagePosition = ""
  490.             WHEN (ImagePositionMode="r") THEN ImagePosition = " ALIGN=RIGHT"
  491.             WHEN (ImagePositionMode="l") THEN ImagePosition = " ALIGN=LEFT"
  492.             OTHERWISE NOP
  493.         END
  494.  
  495.         IF (ImagePosition="n")
  496.         THEN ImagePositionString = ""
  497.         ELSE DO
  498.             ImagePositionString =    ImagePosition
  499.             ImagePositionString = ImagePositionString ||    " HSPACE=" || HorizontalTextDistance
  500.             ImagePositionString = ImagePositionString    ||    " VSPACE=" || VerticalTextDistance
  501.         END
  502.  
  503.         ImageString =                                    OpenImage
  504.         ImageString = ImageString ||     ' ALT="'            ||    ImageText                        || '"'
  505.         ImageString = ImageString ||    ImageSizeString    ||    ImagePositionString    || ">"
  506.  
  507.     END
  508.     OTHERWISE NOP
  509. END
  510.  
  511. /*
  512. **------------------------------------------------------------------------------
  513. **    Html link structure
  514. **------------------------------------------------------------------------------
  515. */
  516.  
  517. TEXT OpenLink ; "AUTO-INDENT" ; KTAB
  518. IF (LinkMode="t")
  519. THEN TEXT "Sould be modified - Link text"
  520. ELSE DO
  521.     IF (ImagepositionMode="c")
  522.     THEN DO
  523.         TEXT "<CENTER>" ; "AUTO-INDENT" ; KTAB
  524.         TEXT ImageString ; "AUTO-INDENT" ; BACKTAB
  525.         TEXT "</CENTER>"
  526.     END
  527.     ELSE TEXT ImageString
  528. END
  529. "AUTO-INDENT" ; BACKTAB ; TEXT CloseLink
  530.  
  531. /*
  532. **------------------------------------------------------------------------------
  533. **    End of html_link.ced Arexx script
  534. **------------------------------------------------------------------------------
  535. */
  536.  
  537. EXIT 0
  538.